package com.huitone.gddw.dao.business;

import java.util.List;
import java.util.Map;

import com.huitone.gddw.dao.entity.WebSmRec;
import com.huitone.gddw.service.dto.business.UploadWebSmDTO;

public interface IWebSmRecDao {
    int deleteByPrimaryKey(String smSeq);

    int insert(WebSmRec record);
    /**
     * 查询当前用户发送的最后一条短信
     * @param userId
     * @return
     */
    WebSmRec findUserLast(String userId );

    int insertSelective(WebSmRec record);

    /**
     * 根据短信序列查询
     * @param smSeq
     * @return
     */
    UploadWebSmDTO toUpdate(String fileId);
    /**
     * 
     * @param fileId
     * @return
     */
    List<WebSmRec> getByFileId(String fileId);

    int updateByPrimaryKeySelective(WebSmRec record);

    /**
     * 修改
     * @param record
     * @return
     */
    int updateByPrimaryKey(WebSmRec record);
    /**
     * 页面列表查询(所有数据)
     * @param map
     * @return List<UploadWebSmDTO> 
     */
    List<UploadWebSmDTO> selectRoot(Map<String,Object> map);
    /**
     * 查询总记录数(所有数据)
     * @param map
     * @return
     */
    int countRoot(Map<String,Object> map);
    /**
     * 页面列表查询(本单位数据)
     * @param map
     * @return List<UploadWebSmDTO> 
     */
    List<UploadWebSmDTO> selectUnit(Map<String,Object> map);
    /**
     * 查询总记录数(本单位数据)
     * @param map
     * @return
     */
    int countUnit(Map<String,Object> map);
    /**
     * 根据查询参数，返回记录(本单位数据)
     * @param map
     * @return List<UploadWebSmDTO>
     */
    List<UploadWebSmDTO> getRecordUnit(Map<String,Object> map);
    /**
     * 根据查询参数，返回记录(所有数据)
     * @param map
     * @return List<UploadWebSmDTO>
     */
    List<UploadWebSmDTO> getRecordRoot(Map<String,Object> map);
    
    /**
     * 批量导入
     * @param list
     * @return  List<Integer>
     */
    int saveBatch(List<WebSmRec>list);
//    	int saveBatch(Map<String,Object> map);
    /**
     * 批量更新
     * @param list
     * @return
     */
    int updateBatch(List<WebSmRec> list);
    /**
     * 根据文件id删除
     * @param array
     * @return
     */
    int delAllByFileId(String fileId);
    
    /**
     * 根据文件id 批量删除
     * @param list
     * @return
     */
    int delAllByFileIds(List<String> list);
    
    /**
     * 	生成短信序列第三部分，（1~999999）
     * @return
     */
    String getSeqPart3();
}